<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>AJAX GET 请求</title>
    <style>
      #result {
        border: 5px solid pink;
        width: 200px;
        height: 100px;
      }
    </style>
  </head>
  <body>
    <button>点击发送请求</button>
    <div id="result"></div>
  </body>
  <script>
    // 获取元素
    const button = document.querySelector("button");
    const result = document.getElementById("result");
    // 设置点击事件
    button.onclick = function () {
      // 发送 AJAX 请求
      // 1.创建对象
      const xhr = new XMLHttpRequest();
      // 2.设置请求方法和请求地址
      xhr.open("GET", "http://www.xin.com:8000/server?a=100&b=200");
      // 3.发送请求
      xhr.send();
      // 4.事件绑定，处理服务端返回的结果
      // onreadystatechange: 响应状态改变时触发
      xhr.onreadystatechange = function () {
        // readyStatus 1:open()调用完毕 2:send()调用完毕 3:响应头加载完毕 4:响应体加载完毕
        if (xhr.readyState === 4) {
          // 判断响应码是否成功
          if (xhr.status >= 200 && xhr.status < 300) {
            // 获取响应状态码
            console.log(xhr.status);
            // 获取响应状态字符串
            console.log(xhr.statusText);
            // 获取所有响应头
            console.log(xhr.getAllResponseHeaders());
            // 获取响应体
            console.log(xhr.response);
            // 将响应结果添加到div中
            result.innerText = xhr.response;
          }
        }
      };
    };
  </script>
</html>
